/**
在 React 中，严格模式（Strict Mode）是一个用于检测潜在问题的工具。它通过对应用程序进行额外的检查和警告，帮助开发者发现不安全的生命周期方法、过时的 API 和其他可能导致问题的代码。
  1. 基本概念
  - 严格模式 是一个开发工具，旨在帮助开发者编写更安全和可维护的代码。它不会影响生产环境中的代码执行，只在开发模式下有效。

  2. 启用严格模式
  可以通过在组件树中使用  `<React.StrictMode>`  组件来启用严格模式。通常将其放置在应用的根组件周围。
  示例：
  jsx
  import React from 'react';
  import ReactDOM from 'react-dom';
  import App from './App';

  ReactDOM.render(
    <React.StrictMode>
      <App />
    </React.StrictMode>,
    document.getElementById('root')
  );
  3. 严格模式的检查
  在严格模式下，React 会进行以下检查：

  - 检测不安全的生命周期方法：如  `componentWillMount` 、 `componentWillReceiveProps`  和  `componentWillUpdate` 。
  - 检测过时的 API：如使用字符串 ref 的方式。
  - 警告意外的副作用：如在渲染过程中产生副作用的代码。
  - 确保组件的纯粹性：检测组件是否遵循纯组件的原则，避免不必要的渲染。

  4. 对开发者的好处
  - 提高代码质量：通过提前发现潜在问题，帮助开发者编写更健壮的代码。
  - 促进最佳实践：严格模式鼓励使用 React 推荐的最佳实践，避免使用不安全的 API 和方法。
  - 帮助未来的迁移：使用严格模式可以帮助开发者在未来的 React 版本中更容易地迁移和适应新特性。

  5. 注意事项
  - 仅在开发模式下有效：严格模式只在开发环境中生效，生产环境中不会影响应用的性能或行为。
  - 可能产生额外的警告：在使用严格模式时，可能会看到更多的警告信息，开发者需要根据这些信息进行相应的调整。

  6. 总结
  React 的严格模式是一个强大的工具，旨在帮助开发者识别和修复潜在问题。通过在开发过程中启用严格模式，开发者可以提高代码的质量和可维护性，确保遵循最佳实践。建议在开发阶段始终使用严格模式，以便尽早发现并解决问题。
 */
import React, { PureComponent, StrictMode } from 'react'
import Home from './pages/Home'
import Profile from './pages/Profile'

export default class App extends PureComponent {
  render() {
    return (
      <div>
        <h3>1. 严格模式</h3>
        <StrictMode>
          <Home/>
        </StrictMode>

        <h3>2. 普通模式</h3>
        <Profile/>
      </div>
    )
  }
}
